how does GPG works